Structured storage is computer storage for structured data, often in the form of a distributed database.[1] Computer software formally known as structured storage systems include Apache Cassandra,[2] Google's BigTable[3] and HBase.[4]
The following is a comparison of notable structured storage systems.
Project Name | Type | Persistence | Replication | High Availability | Transactions | Rack-locality Awareness | Implementation Language | Influences, Sponsors | License |
---|---|---|---|---|---|---|---|---|---|
AllegroGraph | Graph database | Yes | No - v5, 2010 | Yes | Yes | No | Common Lisp | Franz Inc. | Commercial, Limited Free Version |
Apache Jackrabbit | Key-value & Hierarchical & Document | Yes | Yes | Yes | Yes | likely | Java | Apache, Roy Fielding, Day Software | Apache 2.0 |
Berkeley DB/Dbm/Ndbm (bdb)1.x | Key-value | Yes | No | No | No | No | C | old school | Various |
Berkeley DB Sleepycat/Oracle Berkeley DB 2.x | Key-value | Yes | Yes | Unknown | Yes | No | C, C++, or Java | dbm, Sleepycat/Oracle | dual BSD-like Sleepycat License/commercial |
Cassandra | Key-value | Yes | Yes | Distributed | Eventually consistent | Yes | Java | Dynamo and BigTable, Facebook/Digg/Rackspace | Apache 2.0 |
CouchDB | Document | Yes | Yes | replication + load balancing | Atomicity is per document, per CouchDB instance | No | Erlang | Lotus Notes / Ubuntu, Mozilla, IBM | Apache 2.0 |
Extensible Storage Engine(ESE/NT) | Document or Key-value | Yes | No | No | Yes | No | C++, Assembly | Microsoft | per Windows License |
GigaSpaces | Tuple Space & Relational & Document & key-value | Yes | Yes | Yes | Yes | Depends on user configuration | Java | Tuple space | commercial |
GT.M | Key-value | Yes | Yes | Yes | Yes | Depends on user configuration | C (small bits of assembly language) | FIS | AGPL v3 |
Project Name | Type | Persistence | Replication | High Availability | Transactions | Rack-locality Awareness | Implementation Language | Influences, Sponsors | License |
HBase | Key-value | Yes. Major version upgrades require re-import. | See HDFS, S3 or EBS. | maybe with Zookeeper in 0.21? | Unknown | See HDFS, S3 or EBS. | Java | BigTable | Apache 2.0 |
Hypertable | Key-value | Yes | Yes, with KosmosFS and Ceph | coming in 2.0 | coming | Yes, with KosmosFS | C++ | BigTable | GPL 2.0 |
Information Management System IBM IMS aka DB1 | Key-value. Multi-level | Yes | Yes | Yes, with HALDB | Yes, with IMS TM | Unknown | Assembler | IBM since 1966 | Proprietary |
Memcached | Key-value | No | No | No | Yes | No | C | Six Apart/Couchbase/Fotolog/Facebook | BSD-like permissive copyright by Danga |
MongoDB | Document (JSON) | Yes | Yes | fail-over | Single document atomicity | No | C++ | 10gen | GNU AGPL v3.0 |
Neo4j | Graph database | Yes | Yes | Yes | Yes | No | Java | Neo Technology | GNU GPL v3.0 |
Redis | Key-value | Yes. But last few queries can be lost. | Yes | No | Yes | No | Ansi-C | VMWare, Memcache | BSD |
SimpleDB (Amazon.com) | Document & Key-value | Yes | Yes (automatic) | Yes | Unknown | likely | Erlang | Amazon.com | Amazon internal only |
Tarantool | Free-dimensional tuples with primary and secondary keys | Yes. (Asynchronous) | Yes | Yes | Yes | No | Objective C, Lua | Memcached, Mnesia, MySQL, Mail.ru | BSD |
Project Name | Type | Persistence | Replication | High Availability | Transactions | Rack-locality Awareness | Implementation Language | Influences, Sponsors | License |